mult_rz Interface

public interface mult_rz

Module Procedures

private pure function mult_rz_mtx(lside, trans, l, a, tau, c) result(cz)

Multiplies a general matrix by the orthogonal matrix Z from an RZ factorization such that or

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: lside

Set to true to compute ; else, set to false to compute .

logical, intent(in) :: trans

Set to true if ; else, set to false if .

integer(kind=int32), intent(in) :: l

The number of columns in matrix containing the meaningful part of the Householder vectors. If lside is true, ; else, if lside is false, .

real(kind=real64), intent(in), dimension(:,:) :: a

The -by- matrix , where if lside is true; else, if lside is false. The I-th row must contain the Householder vector in the last rows.

real(kind=real64), intent(in), dimension(:) :: tau

A -element array containing the scalar factors of the elementary reflectors, where if lside is true; else, if lside is false.

real(kind=real64), intent(in), dimension(:,:) :: c

The -by- matrix .

Return Value real(kind=real64), allocatable, dimension(:,:)

The -by- product of the orthgonal matrix and the original matrix .

private pure function mult_rz_mtx_cmplx(lside, trans, l, a, tau, c) result(cz)

Multiplies a general matrix by the orthogonal matrix Z from an RZ factorization such that or .

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: lside

Set to true to compute ; else, set to false to compute .

logical, intent(in) :: trans

Set to true if ; else, set to false if .

integer(kind=int32), intent(in) :: l

The number of columns in matrix containing the meaningful part of the Householder vectors. If lside is true, ; else, if lside is false, .

complex(kind=real64), intent(in), dimension(:,:) :: a

The -by- matrix , where if lside is true; else, if lside is false. The I-th row must contain the Householder vector in the last rows.

complex(kind=real64), intent(in), dimension(:) :: tau

A -element array containing the scalar factors of the elementary reflectors, where if lside is true; else, if lside is false.

complex(kind=real64), intent(in), dimension(:,:) :: c

The -by- matrix .

Return Value complex(kind=real64), allocatable, dimension(:,:)

The -by- product of the orthgonal matrix and the original matrix .

private pure function mult_rz_vec(trans, l, a, tau, c) result(cz)

Multiplies a general matrix by the orthogonal matrix Z from an RZ factorization such that .

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: trans

Set to true if ; else, set to false if .

integer(kind=int32), intent(in) :: l

The number of columns in matrix containing the meaningful part of the Householder vectors.

real(kind=real64), intent(in), dimension(:,:) :: a

The -by- matrix . The I-th row must contain the Householder vector in the last rows.

real(kind=real64), intent(in), dimension(:) :: tau

An -element array containing the scalar factors of the elementary reflectors.

real(kind=real64), intent(in), dimension(:) :: c

The -element array .

Return Value real(kind=real64), allocatable, dimension(:)

The product of and .

private pure function mult_rz_vec_cmplx(trans, l, a, tau, c) result(cz)

Multiplies a general matrix by the orthogonal matrix Z from an RZ factorization such that .

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: trans

Set to true if ; else, set to false if .

integer(kind=int32), intent(in) :: l

The number of columns in matrix containing the meaningful part of the Householder vectors.

complex(kind=real64), intent(in), dimension(:,:) :: a

The -by- matrix . The I-th row must contain the Householder vector in the last rows.

complex(kind=real64), intent(in), dimension(:) :: tau

An -element array containing the scalar factors of the elementary reflectors.

complex(kind=real64), intent(in), dimension(:) :: c

On input, the -element array . On output, the product of and .

Return Value complex(kind=real64), allocatable, dimension(:)

The product of and .